package zhengti;


import java.util.ArrayList;
import java.util.List;

/**
 * @author ShadowLim
 * @create 2022-03-23-21:20
 */

/**
 * 两种方法性能相差无几 数组的方式要先算出数组大小
 */
public class 货物摆放 {

    /** 数组
     * 先求出n的所有因子 再暴力枚举得出答案
     * @param args
     */
//    public static void main(String[] args) {
//        long n = 2021041820210418L;
//        long[] factors = new long[130];
//        int idx = 0;
//        int cnt = 0;
//        for (long i = 1; i * i <= n; i++) {
//            if (n % i == 0) {
//                factors[idx++] = i;
//                if (i != n / i) {
//                    factors[idx++] = n / i;
//                }
//            }
//        }
//        for (int i = 0; i < idx; i++) {
//            for (int j = 0; j < idx; j++) {
//                for (int k = 0; k < idx; k++) {
//                    if (factors[i] * factors[j] * factors[k] == n) {
//                        cnt++;
//                    }
//                }
//            }
//        }
//        System.out.println(cnt);
//    }

    /**
     * 链表
     * @param args
     */
    public static void main(String[] args) {
        long n = 2021041820210418L;
        List<Long> factors = new ArrayList<>();
        int ans = 0;
        for (long i = 1; i * i <= n ; i++) {
            if (n % i == 0) {
                factors.add(i);
                if (i != n / i) {
                    factors.add(n / i);
                }
            }
        }
        for (int i = 0; i < factors.size(); i++) {
            for (int j = 0; j < factors.size(); j++) {
                for (int k = 0; k < factors.size(); k++) {
                    if (factors.get(i) * factors.get(j) * factors.get(k) == n) {
                        ans++;
                    }
                }
            }
        }
        System.out.println(ans);
    }
}
